﻿
using sharpxbot.Core.Messaging;
using sharpxbot.Core.Muc;
namespace sharpxbot.Plugins.Context
{
    /// <summary>
    /// Provides common infrastructure for plugin
    /// </summary>
    public interface IPluginContext
    {
        /// <summary>
        /// Gets context for all group-chats managed by bot
        /// </summary>
        IGroupChatContext GroupChats { get; }

        /// <summary>
        /// Gets thread-safe channel which allows to send messages from plugin
        /// </summary>
        IChannel Channel { get; }

        /// <summary>
        /// Gets path where plugins data is stored
        /// </summary>
        string PluginDataPath { get; }

        /// <summary>
        /// Gets bot owner bare jid
        /// </summary>
        string OwnerJid { get; }
    }
}
